import request from './request'

/**
 * 获取员工列表（管理员）
 * @param {Object} params
 * @param {number} params.pageNum - 页码
 * @param {number} params.pageSize - 每页大小
 * @param {string} params.keyword - 搜索关键词（可选）
 * @param {string} params.department - 部门（可选）
 * @param {number} params.status - 状态（可选）
 * @returns {Promise}
 */
export function getStaffList(params) {
  return request({
    url: '/staff/list',
    method: 'get',
    params
  })
}

/**
 * 获取员工详情（管理员）
 * @param {number} id - 员工ID
 * @returns {Promise}
 */
export function getStaffDetail(id) {
  return request({
    url: `/staff/${id}`,
    method: 'get'
  })
}

/**
 * 创建员工（管理员）
 * @param {Object} data - 员工信息
 * @returns {Promise}
 */
export function createStaff(data) {
  return request({
    url: '/staff/create',
    method: 'post',
    data
  })
}

/**
 * 更新员工信息（管理员）
 * @param {Object} data - 员工信息
 * @returns {Promise}
 */
export function updateStaff(data) {
  return request({
    url: '/staff/update',
    method: 'put',
    data
  })
}

/**
 * 删除员工（管理员）
 * @param {number} id - 员工ID
 * @returns {Promise}
 */
export function deleteStaff(id) {
  return request({
    url: `/staff/${id}`,
    method: 'delete'
  })
}

/**
 * 更新员工状态（管理员）
 * @param {number} id - 员工ID
 * @param {number} status - 状态
 * @returns {Promise}
 */
export function updateStaffStatus(id, status) {
  return request({
    url: `/staff/status/${id}`,
    method: 'put',
    params: { status }
  })
}

// 添加员工（用于管理后台）
export function addStaff(data) {
  return request({
    url: '/staff/add',
    method: 'post',
    data
  })
}

// 更新员工信息（用于管理后台，带ID）
export function updateStaffById(id, data) {
  return request({
    url: `/staff/update/${id}`,
    method: 'put',
    data
  })
}

export default {
  getStaffList,
  getStaffDetail,
  createStaff,
  updateStaff: updateStaffById,
  deleteStaff,
  updateStaffStatus,
  addStaff
}
